//-----------------------------------------------------------------------------------
#ifndef _StarNode_H_
#define _StarNode_H_
//-----------------------------------------------------------------------------------
#include <vector>
#include "zakengine/zak.h"
//-----------------------------------------------------------------------------------
typedef struct
{
	int m_isRow;
	int m_isCol;
}sPosition;
//-----------------------------------------------------------------------------------
#define TYPE_WALL -1
#define TYPE_NORM  0
//-----------------------------------------------------------------------------------
class StarNode
{
public:

	StarNode();
	StarNode( int iRow, 
			  int iCol, 
			  int iType, 
			  int iCost, 
			  StarNode *npParent = NULL );

	~StarNode();

	StarNode * GetParent();

	sPosition ** NormalizePath();

	sPosition m_sPosition;

	StarNode * m_npParent;
		
	int m_iCost;
	int m_iType;
	int m_iDistance;

	zak::Shape * m_pkShape;
	
	void DrawShape();

	friend class AIStar;
};
//-----------------------------------------------------------------------------------
#endif
//-----------------------------------------------------------------------------------